package com.wjf.shortlink.shortlink.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wjf.shortlink.shortlink.dao.entity.ShortLinkDAO;
import com.wjf.shortlink.shortlink.dto.req.RecycleBinRecoverReqDTO;
import com.wjf.shortlink.shortlink.dto.req.RecycleBinRemoveReqDTO;
import com.wjf.shortlink.shortlink.dto.req.RecycleBinSaveReqDTO;
import com.wjf.shortlink.shortlink.dto.req.ShortLinkRecycleBinPageReqDTO;
import com.wjf.shortlink.shortlink.dto.resp.ShortLinkPageRespDTO;

//回收站管理接口层
public interface RecycleBinService extends IService<ShortLinkDAO> {

    //保存回收站
    void saveRecycleBin(RecycleBinSaveReqDTO recycleBinSaveReqDTO);

    //分页查询回收站里短链接
    IPage<ShortLinkPageRespDTO> pageShortLink(ShortLinkRecycleBinPageReqDTO shortLinkRecycleBinPageReqDTO);

    //从回收站恢复短链接
    void recoverRecycleBin(RecycleBinRecoverReqDTO recycleBinRecoverReqDTO);

    //从回收站移除短链接
    void removeRecycleBin(RecycleBinRemoveReqDTO recycleBinRemoveReqDTO);
}
